//
//  UIBarButtonItem+Extension.swift
//  Weibo
//
//  Created by itteacher on 2017/7/22.
//  Copyright © 2017年 itteacher. All rights reserved.
//

import UIKit
//  指定不能定义在extension里面，存储属性也不能定义
extension UIBarButtonItem {
    //  扩展便利构造函数, 函数还可以是指默认参数提供默认值
    convenience init(title: String, imageName: String? = nil, target: Any?, action: Selector) {
        let button = UIButton()
        //  添加点击事件
        button.addTarget(target, action: action, for: .touchUpInside)
        //  判断图片如果不为nil，那么设置背景图片
        //  如果imageName外界没有传入这个参数，那么这个参数的默认值为nil
        if imageName != nil {
            button.setImage(UIImage(named: imageName!), for: .normal)
        }
        
        button.setTitle(title, for: .normal)
        //  设置不同状态下文字的颜色
        button.setTitleColor(UIColor.darkGray, for: .normal)
        button.setTitleColor(UIColor.orange, for: .highlighted)
        //  设置文字大小
        button.titleLabel?.font = UIFont.systemFont(ofSize: 15)
        //  自适应
        button.sizeToFit()

        //  便利构造函数只能使用self调用其它构造函数
        self.init(customView: button)
    }
}
